1. Field of the Invention
The present invention relates to a communication apparatus, method and program used in a communication network, and more specifically to a communication apparatus, method and program for realizing peer-to-peer communication (hereinafter, referred to as “P2P communication”).
2. Description of the Relayed Art
As a technology for connecting a plurality of user terminals in a house to the Internet using one global address, the NAT technology (Network Address Translation; conceptually encompasses Network Address Port Translation (NAPT)) using an address translation rule is used. According to the NAT technology, for routing a message from the LAN (Local Area Network) side to the WAN (Wide Area Network) side, a router translates sender address information into WAN-side address information. For routing a message from the WAN side to the LAN side, the router translates destination address information from WAN-side address information to LAN side address information in accordance with an address translation rule, i.e., a NAT translation rule.
In a network environment using the NAT technology, the following conditions (1) and (2) are required for performing P2P communication with a user terminal as a communication partner.
(1) A router address translation rule for a router on a communication path is appropriately set.
(2) Appropriate address information of an access destination of a P2P communication partner is obtained.
When user terminals are connected to each other via a network using a global address, such as the Internet, the appropriate address information of an access destination mentioned in condition (2) is global address information (an IP address and a port number). The global address information is, for example, a WAN-side address and a port number of an address translation rule which is set in a router connected to the Internet, among address translation rule(s) which is/are set in router(s) between the user terminals and the Internet.
On the other hand, when user terminals are connected to each other via router(s) in a private network, the appropriate address information of an access destination needs to be address information of a segment to which the user terminals are commonly connected. For example, for a user terminal 1a and a user terminal 1b in FIG. 1A, the LAN-side segment of a router 2A is the common segment. For a user terminal 1a and a user terminal 1c or id in FIG. 1A, the LAN-side segment of a router 2C is the common segment.
In this manner, when user terminals are connected to each other via router(s) in a private network, the appropriate address information of an access destination varies in accordance with the user terminal as the communication partner. Specific address information is, for example, address information of the communication partner, or a WAN-side address and a port number of an address translation rule set in a router connected to the communication partner.
It is not guaranteed that these conditions are always fulfilled. Accordingly, it is generally very difficult to perform P2P communication.
As a technology for fulfilling the above-mentioned conditions (1) and (2) in a limited situation where user terminals are connected to each other via the Internet and only one router is present between the user terminals and the Internet, it is known to use the UPnP Internet Gateway Device (IGD) Device Control Protocol (hereinafter, referred to as “UPnP•IGD”) for dynamically setting a NAT translation table in an upstream router by a user terminal is known.
Also, a method by which a communicator which is set for NAT traversal is installed in each network and each user terminal communicates via the communicator has been proposed (see, for example, Japanese Patent Publication No. 2003-87288, pages 2 through 4 and FIG. 1A).
Conventionally, the following methods have been proposed as methods of using UPnP•IGD: a method by which a user terminal sets a NAT translation table in an upstream router; and a method by which a user terminal acquires a WAN-side address of an upstream router. However, P2P communication can not be realized in complicated networks only with UPnP•IGD.
With the method proposed by Japanese Patent Publication No. 2003-87288, P2P communication cannot be realized in an environment in which the network between the user terminals is dynamically changed.